#ifndef _TURN_H_
#define _TURN_H_

struct _turn {
  struct _task *task;
  struct _monster *attacking_monster;
};

struct _turn Turn;

void turn_trans_state(state (*fp)(struct _task *task), struct _turn *turn);
void turn_init();
void turn_free();
struct _turn *turn_add();
state turn_player_turn_start(struct _task *task);
state turn_wait_player_turn_end(struct _task *task);
state turn_monster_turn_start(struct _task *task);
state turn_wait_monster_turn_end(struct _task *task);
state turn_monster_turn_attack_start(struct _task *task);
state turn_wait_monster_turn_attack_end(struct _task *task);
#endif
